﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace MaguenBrokersMVC.Models
{
    public class SeguroHogar
    {

        [ScaffoldColumn(false)]
        public virtual int Id { get; set; }

        [Required(ErrorMessage = "*")]
        public virtual string Nombre { get; set; }

        [Required(ErrorMessage = "*")]
        public virtual string Apellido { get; set; }

        [Required(ErrorMessage = "*")]
        [RegularExpression(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", ErrorMessage = "Ingrese un email válido por favor.")]
        [DataType(DataType.EmailAddress)]
        public virtual string Email { get; set; }

        [DisplayName("Tipo de Vivienda")]
        [Required(ErrorMessage = "*")]
        public int TipoViviendaId { get; set; }

        [DisplayName("Provincia")]
        [Required(ErrorMessage = "*")]
        public int ProvinciaId { get; set; }

        [DisplayName("Departamento")]
        [Required(ErrorMessage = "*")]
        public int DepartamentoId { get; set; }

        [DisplayName("Localidad")]
        [Required(ErrorMessage = "*")]
        public int LocalidadId { get; set; }

        [DisplayName("Metros Cuadrados")]
        [Required(ErrorMessage = "*")]
        public string MetrosCuadrados { get; set; }

        [DisplayName("Valor A. Electrónicos")]
        [Required(ErrorMessage = "*")]
        public string ValorAElectronicos { get; set; }

        [DisplayName("Valor Muebles")]
        [Required(ErrorMessage = "*")]
        public string ValorMuebles { get; set; }

        [DisplayName("Tipo de Vivienda")]
        public virtual TipoVivienda TipoVivienda { get; set; }

        [DisplayName("Provincia")]
        public virtual Provincia Provincia { get; set; }

        [DisplayName("Departamento")]
        public virtual Departamento Departamento { get; set; }

        [DisplayName("Localidad")]
        public virtual Localidad Localidad { get; set; }

    }

    public class TipoVivienda
    {
        public int Id { get; set; }
        public string Nombre { get; set; }
    }

    public class Provincia
    {
        public int Id { get; set; }
        public string Nombre { get; set; }
    }

    public class Departamento
    {
        public int Id { get; set; }
        public string Nombre { get; set; }
        public Provincia Provincia { get; set; }
    }

    public class Localidad
    {
        public int Id { get; set; }
        public string Nombre { get; set; }
        public Departamento Departamento { get; set; }
    }
}